Messaging generally refers to a set of features that let the user create, store, send, receive, and manage different types of messages or discrete media between two or more users. Messaging may be based on store and forward, store and retrieve, store and push functions, or peer-to-peer messaging (P2P). Examples of messaging services include discrete media (e.g. text messages) between two or more users, such as Short Message Service (SMS), Multimedia Messaging Service (MMS), email, IMPS (Instant Messaging and Presence Service), Extensible Messaging and Presence Protocol (XMPP), peer-to-peer messaging (P2P), Simple/IM (SIP for Instant Messaging and Presence Leveraging Extensions/Instant Messaging), Voice over IP calls, PoC (Push-to-talk over Cellular).
Messaging services may employ a variety of communication technologies and access networks. Many of the new messaging services employ internet protocol (IP) based technologies, or more particularly Session Initiation Protocol (SIP) or Extensible Messaging and Presence Protocol (XMPP) based technologies. SIP and XMPP are IETF (Internet Engineering Task Force) application-layer protocols. SIP is a control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. XMPP is an XML technology for presence and real-time communication.
IP Multimedia Subsystem (IMS) is a 3rd Generation Partnership Project (3GPP) standardised network architecture that provides an access network independent standardised interface for creating services, charging mechanisms and better Quality of Service (QoS) than best effort. Examples of the services that are implemented on IMS at the moment are PSTN functionality, Push-to-talk over cellular (PoC), Presence, Instant messaging and video sharing. A Converged IP Messaging (CPM) workgroup inside the Open Mobile Alliance, OMA, aims to remove the silos between traditional messaging services caused by technical differences, and provide users with a smooth, unified service experience. These aims are defined in the document “Converged IP Messaging Requirements, Candidate Version 1.0”, 6 Nov. 2007 (OMA-RD-CPM-V1—0-20071106-C).
Individual user devices may support a plurality of different messaging services. The user may choose a messaging service for sending a message based on any suitable criterion, such as the price of the message delivery, availability of the recipient, etc. Usually the aim is to deliver the message through the most suitable messaging service without worrying sender of the used messaging service, while the delivery is guaranteed. The messaging application may use the least-cost (cheapest) messaging service that seem to be available (usually the availability is based on the presence information of the recipient) and if the least-cost messaging service is not available, the messaging application may automatically use or propose to use an alternative messaging service. Information on the availability of the recipient user may be obtained from a presence service. The presence service allows mobile phone users to publish their current presence information and retrieve the presence information of other users of the service. Presence information includes, for example, the user's availability, location, and communication preferences. In the presence-based systems it may happen that the presence information is not always up-to-date; consequently, the user may try to use a messaging service that is not actually available.
The message from the sending user device is typically routed to a messaging system element, such as a server or a service center, to be delivered to the recipient user. The messaging system element may deliver the message to the recipient using the same messaging service as the sender, or using another messaging service, based on a suitable criterion, such as the preference of the recipient user. If the recipient is not available and the message cannot be delivered, the store and forward function of the messaging system element may store the message until the recipient again becomes available (online) for the selected messaging service and the message can be delivered. This procedure is referred to as an offline message delivery herein. The messaging system element may also notify the sender about the offline message delivery. Selecting an alternative messaging service at the messaging system element as an alternative channel for delivery of the message which cannot be delivered through the original messaging service (channel), is problematic because the service provider should not have to bear the cost of the message delivery on behalf of the user. For a mobile operator the delivery cost is not a problem since they run the access network and administrate the billing, but for other service providers, such as Internet service providers, the delivery cost can be huge, for example in case of SMS.